--获取参数列表
local userId=ARGV[1]
local voucherId=ARGV[2]
local orderId=ARGV[3]
-- 判断用户是否已经拿到订单
if(redis.call('sismember','miaosha:order:'..userId,'order:'..userId..':'..ARGV[2])==1)then
return -1
end
--判断库存是否充足
local stock=tonumber(redis.call('get','miaosha:stock:'..voucherId))
if(stock<=0)then
return -2
end
--有资格
 --减库存
 redis.call('incrby','miaosha:stock:'..voucherId,-1)
 --添加用户订单到缓存
 redis.call('sadd','miaosha:order:'..userId,'order:'..userId..':'..voucherId)
 --发消息到orders.create队列
 redis.call('xadd','orders.create','*','userId',userId,'voucherId',voucherId,'id',orderId)
return 0